package com.ship.dispatch.service;

import com.ship.common.business.service.BaseService;
import com.ship.common.core.web.domain.JsonResult;
import com.ship.dispatch.bean.SpDispatchPotentialSchemeDetail;
import com.ship.dispatch.bean.SpDispatchSchemeDetail;
import com.ship.dispatch.bean.SpYearPlanCapacityRecord;
import com.ship.dispatch.bean.SpYearPlanSchemeDetail;
import com.ship.dispatch.bo.HistoryDispatchBO;
import com.ship.dispatch.bo.SavePlanDetailsBO;
import com.ship.dispatch.bo.SpDispatchSchemeDetailBO;
import com.ship.dispatch.bo.VirtualShipOptimizeSchemeDetailBO;
import com.ship.dispatch.model.SpDispatchSchemeSaveModel;
import com.ship.dispatch.model.dto.DispatchPotentialSchemeChartSaveDto;
import com.ship.dispatch.model.dto.SchemeChartSaveDto;
import com.ship.dispatch.model.dto.SchemeChartSimpleDto;
import com.ship.dispatch.vo.PlanDetailsByModelName;

import java.util.List;

/**
 * <p>
 * 方案详情 服务类
 * </p>
 *
 * @author AbyssRabbit@163.com
 * @since 2023-10-17
 */
public interface SpDispatchPotentialSchemeDetailService extends BaseService<SpDispatchPotentialSchemeDetail> {


    /**
     * 方案保存
     * @param dto
     * @return
     */
    JsonResult schemeChartSave(DispatchPotentialSchemeChartSaveDto dto);


    JsonResult schemeChartCalculateSave(DispatchPotentialSchemeChartSaveDto dto);

    /**
     * 调度详情编辑
     * @param dto
     * @return
     */
    JsonResult schemeDetailUpdate(SpDispatchSchemeDetailBO dto);

    /**
     * 调度详情删除
     * @param detailId
     * @return
     */
    JsonResult schemeDetailDelete(Long detailId,String reasonMsg);

    /**
     * 新增调度
     * @param dto
     * @return
     */
    JsonResult schemeSave(SpDispatchSchemeSaveModel dto);

    JsonResult dataUpdate();
}
